//**********************************************
//: l2phs 4.0  ,  Mouse Bot.
//**********************************************
program Enchant;
  const
  interlude=True;
  max=250;
  var
Name, Cvar : string;
var
  Item, scrl:integer;
  ScrollID, ScrollOID:integer;
  ItemID,ItemOID:integer;
  MaxEnchLvl:integer;
  ItemBase:  array[1..4,1..max] of integer;
  ready, add : boolean;
  timer : TTimer;
  Buytimer : TTimer;
  ItemCount, CurEnchLvl: integer;
  SocialID : integer;
  ItemsName, StringList : TStringList;
  FormMain : TForm;
  Splitter1 : TSplitter;
  Splitter2 : TSplitter;
  Stats : TMemo;
  Msg : TMemo;
  Panel1 : TPanel;
  GroupBox2 : TGroupBox;
  Label2 : TLabel;
  Label4 : TLabel;
  Label12 : TLabel;
  Label13 : TLabel;
  Label30 : TLabel;
  Label31 : TLabel;
  Label33 : TLabel;
  CheckBoxItem : TCheckBox;
  ComboBoxItem : TComboBox;
  ButtonStartEnchant : TButton;
  ButtonStopEnchant : TButton;
  CheckBoxScroll : TCheckBox;
  ComboBoxScroll : TComboBox;
  EditItemVal : TEdit;
  EditScrollVal : TEdit;
  EditScrollOID : TEdit;
  EditItemOID : TEdit;
  Label1 : TLabel;
  Label3 : TLabel;
  Edit1 : TEdit;
  Edit2 : TEdit;
  Edit30 : TEdit;
  Edit33 : TEdit;
  StandartName : string;
  i : integer;

procedure CheckBoxItem_Click(Sender: TCheckBox);
begin
  if CheckBoxItem.Checked
  then begin
    ItemOID:=ItemBase[1,ComboBoxItem.ItemIndex+1];
    ItemID:=ItemBase[2,ComboBoxItem.ItemIndex+1];
    ComboBoxItem.Enabled:=false;
  end else begin
    ItemID:=0;
    ItemOID:=0;
    ComboBoxItem.Enabled:=true;
    buf:=hstr('0F');
    SendToServerEx(Name);
  end;
end;
procedure ComboBoxItem_Click(Sender: TComboBox);
begin
    ItemOID:=ItemBase[1,ComboBoxItem.ItemIndex+1];
    ItemID:=ItemBase[2,ComboBoxItem.ItemIndex+1];
    EditItemOID.Text:=Inttostr(ItemID);
    EditItemVal.text:=inttostr(sumitem(ItemID));
end;
procedure CheckBoxScroll_Click(Sender: TCheckBox);
begin
  if CheckBoxScroll.Checked
  then begin
    ScrollOID:=ItemBase[1,ComboBoxScroll.ItemIndex+1];
    ScrollID:=ItemBase[2,ComboBoxScroll.ItemIndex+1];
    ComboBoxScroll.Enabled:=false;
  end else begin
    ScrollID:=0;
    ScrollOID:=0;
    ComboBoxScroll.Enabled:=true;
    buf:=hstr('0F');
    SendToServerEx(Name);
  end;
end;
procedure ComboBoxScroll_Click(Sender: TComboBox);
begin
    ScrollOID:=ItemBase[1,ComboBoxScroll.ItemIndex+1];
    ScrollID:=ItemBase[2,ComboBoxScroll.ItemIndex+1];
    EditScrollOID.Text:=Inttostr(ScrollID);
    EditScrollVal.text:=inttostr(sumitem(ScrollID));
end;

procedure ButtonRun_Click(Sender: TButton);
begin
FormMain.Caption:=StandartName + '   ';
end;

procedure ButtonStartEnchant_Click(Sender: TButton);
begin
  CurEnchLvl:=0;
  Edit2.text:=inttostr(CurEnchLvl);
  msg.Lines.Add(' !!!');
  timer.enabled:=true;
end;
procedure ButtonStopEnchant_Click(Sender: TButton);
begin
  msg.Lines.Add(' !!!');
  timer.enabled:=false;
  ready:=false;
end;
procedure Edit1_Exit(Sender: TEdit);
begin
end;
procedure Free_FormMain;
begin
  TRY
    if FormMain<>NIL then begin
       FormMain.Free;
       FormMain:=NIL;
    end;
  FINALLY
  END;
end;

function Create_FormMain : TForm;
Var
  Yes : boolean;
begin
  Yes := FALSE;
  Result := TForm.Create(nil);
  StandartName:='    ';
  TRY
    Result.Caption     := StandartName;
    Result.Left        := 397;
    Result.Top         := 233;
    Result.Width       := 611;
    Result.Height      := 305;
    Result.FormStyle   := fsStayOnTop;
    Result.Position    := poDesigned;
    Result.BorderStyle := bsDialog;
    Result.BorderWidth := 0;
    Result.WindowState := wsNormal;
    Result.Color       := clBtnFace;
    Result.Font.Name   := 'Tahoma';
    Result.Font.Size   := 8;
    Result.Font.Color  := clWindowText;
    Result.Font.CharSet:= 1;

    Splitter1 := TSplitter.Create(Result);
    Splitter1.Parent := Result;
    Splitter1.Align := alBottom;
    Splitter1.Color := clBtnFace;
    Splitter1.Left    := 0;
    Splitter1.Top     := 103;
    Splitter1.Width   := 573;
    Splitter1.Height  := 3;
    Splitter1.Visible := TRUE;
    Splitter1.Tag     := 0;

    Splitter2 := TSplitter.Create(Result);
    Splitter2.Parent := Result;
    Splitter2.Align := alRight;
    Splitter2.Color := clBtnFace;
    Splitter2.Left    := 442;
    Splitter2.Top     := 0;
    Splitter2.Width   := 1;
    Splitter2.Height  := 103;
    Splitter2.Visible := TRUE;
    Splitter2.Tag     := 0;

    Stats := TMemo.Create(Result);
    Stats.Parent := Result;
    Stats.Left    := 443;
    Stats.Top     := 0;
    Stats.Width   := 130;
    Stats.Height  := 103;
    Stats.Visible := TRUE;
    Stats.Tag     := 0;
    Stats.Enabled  := TRUE;
    Stats.Hint     := '';
    Stats.ShowHint := FALSE;
    Stats.Font.Name  := 'Tahoma';
    Stats.Font.Size  := 8;
    Stats.Font.Color := clWindowText;
    Stats.Color         := clWindow;
    Stats.TabOrder      := 0;
    Stats.TabStop       := TRUE;
    Stats.Align         := alRight;
    Stats.WordWrap      := TRUE;
    Stats.Alignment     := taLeftJustify;
    Stats.WantTabs      := FALSE;
    Stats.WantReturns   := TRUE;
    Stats.HideSelection := TRUE;
    Stats.MaxLength     := 0;
    Stats.OEMConvert    := FALSE;
    Stats.ReadOnly      := FALSE;
    Stats.ScrollBars    := ssNone;

    Msg := TMemo.Create(Result);
    Msg.Parent := Result;
    Msg.Left    := 0;
    Msg.Top     := 106;
    Msg.Width   := 573;
    Msg.Height  := 65;
    Msg.Visible := TRUE;
    Msg.Tag     := 0;
    Msg.Enabled  := TRUE;
    Msg.Hint     := '';
    Msg.ShowHint := FALSE;
    Msg.Font.Name  := 'Tahoma';
    Msg.Font.Size  := 8;
    Msg.Font.Color := clWindowText;
    Msg.Color         := clWindow;
    Msg.TabOrder      := 1;
    Msg.TabStop       := TRUE;
    Msg.Align         := alBottom;
    Msg.WordWrap      := TRUE;
    Msg.Alignment     := taLeftJustify;
    Msg.WantTabs      := FALSE;
    Msg.WantReturns   := TRUE;
    Msg.HideSelection := TRUE;
    Msg.MaxLength     := 0;
    Msg.OEMConvert    := FALSE;
    Msg.ReadOnly      := True;
    Msg.ScrollBars    := ssVertical;

    Panel1 := TPanel.Create(Result);
    Panel1.Parent := Result;
    Panel1.Left    := 0;
    Panel1.Top     := 0;
    Panel1.Width   := 442;
    Panel1.Height  := 103;
    Panel1.Visible := TRUE;
    Panel1.Tag     := 0;
    Panel1.Enabled  := TRUE;
    Panel1.Hint     := '';
    Panel1.ShowHint := FALSE;
    Panel1.Caption    := '';
    Panel1.Align      := alClient;
    Panel1.Color      := clBtnFace;
    Panel1.Font.Name  := 'Tahoma';
    Panel1.Font.Size  := 8;
    Panel1.Font.Color := clWindowText;
    Panel1.Font.CharSet := 1;
    Panel1.BevelWidth   := 1;
    Panel1.BorderWidth  := 0;
    Panel1.BevelInner   := bvNone;
    Panel1.BevelOuter   := bvRaised;
    Panel1.TabOrder     := 2;
    Panel1.TabStop      := FALSE;
    Panel1.AutoSize     := FALSE;

    GroupBox2 := TGroupBox.Create(Result);
    GroupBox2.Parent := Panel1;
    GroupBox2.Left    := 1;
    GroupBox2.Top     := 1;
    GroupBox2.Width   := 440;
    GroupBox2.Height  := 131;
    GroupBox2.Visible := TRUE;
    GroupBox2.Tag     := 0;
    GroupBox2.Enabled  := TRUE;
    GroupBox2.Hint     := '';
    GroupBox2.ShowHint := FALSE;
    GroupBox2.Caption    := '';
    GroupBox2.Align      := alClient;
    GroupBox2.Color      := clBtnFace;
    GroupBox2.Font.Name  := 'Tahoma';
    GroupBox2.Font.Size  := 8;
    GroupBox2.Font.Color := clWindowText;
    GroupBox2.Font.CharSet := 1;
    GroupBox2.TabOrder     := 0;
    GroupBox2.TabStop      := FALSE;

    Label1 := TLabel.Create(Result);
    Label1.Parent := GroupBox2;
    Label1.Left    := 10;
    Label1.Top     := 70;
    Label1.Width   := 58;
    Label1.Height  := 13;
    Label1.Visible := TRUE;
    Label1.Tag     := 0;
    Label1.Enabled  := TRUE;
    Label1.Hint     := '';
    Label1.ShowHint := FALSE;
    Label1.Caption     := ' .:';
    Label1.Transparent := TRUE;
    Label1.WordWrap    := FALSE;
    Label1.Alignment   := taLeftJustify;
    Label1.Layout      := tlTop;
    Label1.AutoSize    := TRUE;
    Label1.Align       := alNone;
    Label1.Font.Name   := 'Tahoma';
    Label1.Font.Size   := 8;
    Label1.Font.Color  := clWindowText;
    Label1.Color       := clBtnFace;

    Label3 := TLabel.Create(Result);
    Label3.Parent := GroupBox2;
    Label3.Left    := 170;
    Label3.Top     := 70;
    Label3.Width   := 58;
    Label3.Height  := 13;
    Label3.Visible := TRUE;
    Label3.Tag     := 0;
    Label3.Enabled  := TRUE;
    Label3.Hint     := '';
    Label3.ShowHint := FALSE;
    Label3.Caption     := '.:';
    Label3.Transparent := TRUE;
    Label3.WordWrap    := FALSE;
    Label3.Alignment   := taLeftJustify;
    Label3.Layout      := tlTop;
    Label3.AutoSize    := TRUE;
    Label3.Align       := alNone;
    Label3.Font.Name   := 'Tahoma';
    Label3.Font.Size   := 8;
    Label3.Font.Color  := clWindowText;
    Label3.Color       := clBtnFace;

    Edit1 := TEdit.Create(Result);
    Edit1.Parent := GroupBox2;
    Edit1.Left    := 90;
    Edit1.Top     := 67;
    Edit1.Width   := 60;
    Edit1.Height  := 21;
    Edit1.Visible := TRUE;
    Edit1.Tag     := 0;
    Edit1.Enabled  := TRUE;
    Edit1.Hint     := '   ';
    Edit1.ShowHint := TRUE;
    Edit1.Text       := '10';
    Edit1.Font.Name  := 'Tahoma';
    Edit1.Font.Size  := 8;
    Edit1.Font.Color := clWindowText;
    Edit1.Color        := clWindow;
    Edit1.TabOrder     := 5;
    Edit1.TabStop      := TRUE;
    Edit1.ReadOnly     := FALSE;
    Edit1.MaxLength    := 0;
    Edit1.AutoSize     := TRUE;
    Edit1.OnExit     := @Edit1_Exit;

    Edit2 := TEdit.Create(Result);
    Edit2.Parent := GroupBox2;
    Edit2.Left    := 199;
    Edit2.Top     := 67;
    Edit2.Width   := 60;
    Edit2.Height  := 21;
    Edit2.Visible := TRUE;
    Edit2.Tag     := 0;
    Edit2.Enabled  := TRUE;
    Edit2.Hint     := '   ';
    Edit2.ShowHint := TRUE;
    Edit2.Text       := '0';
    Edit2.Font.Name  := 'Tahoma';
    Edit2.Font.Size  := 8;
    Edit2.Font.Color := clWindowText;
    Edit2.Color        := clWindow;
    Edit2.TabOrder     := 5;
    Edit2.TabStop      := FALSE;
    Edit2.ReadOnly     := TRUE;
    Edit2.MaxLength    := 0;
    Edit2.AutoSize     := TRUE;

    Label2 := TLabel.Create(Result);
    Label2.Parent := GroupBox2;
    Label2.Left    := 416;
    Label2.Top     := 19;
    Label2.Width   := 18;
    Label2.Height  := 13;
    Label2.Visible := TRUE;
    Label2.Tag     := 0;
    Label2.Enabled  := TRUE;
    Label2.Hint     := '';
    Label2.ShowHint := FALSE;
    Label2.Caption     := '.';
    Label2.Transparent := TRUE;
    Label2.WordWrap    := FALSE;
    Label2.Alignment   := taLeftJustify;
    Label2.Layout      := tlTop;
    Label2.AutoSize    := TRUE;
    Label2.Align       := alNone;
    Label2.Font.Name   := 'Tahoma';
    Label2.Font.Size   := 8;
    Label2.Font.Color  := clWindowText;
    Label2.Color       := clBtnFace;

    Label4 := TLabel.Create(Result);
    Label4.Parent := GroupBox2;
    Label4.Left    := 416;
    Label4.Top     := 43;
    Label4.Width   := 18;
    Label4.Height  := 13;
    Label4.Visible := TRUE;
    Label4.Tag     := 0;
    Label4.Enabled  := TRUE;
    Label4.Hint     := '';
    Label4.ShowHint := FALSE;
    Label4.Caption     := '.';
    Label4.Transparent := TRUE;
    Label4.WordWrap    := FALSE;
    Label4.Alignment   := taLeftJustify;
    Label4.Layout      := tlTop;
    Label4.AutoSize    := TRUE;
    Label4.Align       := alNone;
    Label4.Font.Name   := 'Tahoma';
    Label4.Font.Size   := 8;
    Label4.Font.Color  := clWindowText;
    Label4.Color       := clBtnFace;

    Label12 := TLabel.Create(Result);
    Label12.Parent := GroupBox2;
    Label12.Left    := 273;
    Label12.Top     := 3;
    Label12.Width   := 33;
    Label12.Height  := 13;
    Label12.Visible := TRUE;
    Label12.Tag     := 0;
    Label12.Enabled  := TRUE;
    Label12.Hint     := '';
    Label12.ShowHint := FALSE;
    Label12.Caption     := 'ItemID';
    Label12.Transparent := TRUE;
    Label12.WordWrap    := FALSE;
    Label12.Alignment   := taLeftJustify;
    Label12.Layout      := tlTop;
    Label12.AutoSize    := TRUE;
    Label12.Align       := alNone;
    Label12.Font.Name   := 'Tahoma';
    Label12.Font.Size   := 8;
    Label12.Font.Color  := clWindowText;
    Label12.Color       := clBtnFace;

    Label13 := TLabel.Create(Result);
    Label13.Parent := GroupBox2;
    Label13.Left    := 349;
    Label13.Top     := 3;
    Label13.Width   := 35;
    Label13.Height  := 13;
    Label13.Visible := TRUE;
    Label13.Tag     := 0;
    Label13.Enabled  := TRUE;
    Label13.Hint     := '';
    Label13.ShowHint := FALSE;
    Label13.Caption     := '-';
    Label13.Transparent := TRUE;
    Label13.WordWrap    := FALSE;
    Label13.Alignment   := taLeftJustify;
    Label13.Layout      := tlTop;
    Label13.AutoSize    := TRUE;
    Label13.Align       := alNone;
    Label13.Font.Name   := 'Tahoma';
    Label13.Font.Size   := 8;
    Label13.Font.Color  := clWindowText;
    Label13.Color       := clBtnFace;

    CheckBoxItem := TCheckBox.Create(Result);
    CheckBoxItem.Parent := GroupBox2;
    CheckBoxItem.Left    := 18;
    CheckBoxItem.Top     := 18;
    CheckBoxItem.Width   := 66;
    CheckBoxItem.Height  := 17;
    CheckBoxItem.Visible := TRUE;
    CheckBoxItem.Tag     := 0;
    CheckBoxItem.Enabled  := TRUE;
    CheckBoxItem.Hint     := '    ';
    CheckBoxItem.ShowHint := TRUE;
    CheckBoxItem.Caption    := '';
    CheckBoxItem.Font.Name  := 'Tahoma';
    CheckBoxItem.Font.Size  := 8;
    CheckBoxItem.Font.Color := clWindowText;
    CheckBoxItem.Color       := clBtnFace;
    CheckBoxItem.TabOrder    := 0;
    CheckBoxItem.TabStop     := TRUE;
    CheckBoxItem.Checked     := FALSE;
    CheckBoxItem.AllowGrayed := FALSE;
    CheckBoxItem.State       := cbUnchecked;
    CheckBoxItem.OnClick     := @CheckBoxItem_Click;

    ComboBoxItem := TComboBox.Create(Result);
    ComboBoxItem.Parent := GroupBox2;
    ComboBoxItem.Left    := 90;
    ComboBoxItem.Top     := 16;
    ComboBoxItem.Width   := 199;
    ComboBoxItem.Height  := 21;
    ComboBoxItem.Visible := TRUE;
    ComboBoxItem.Tag     := 0;
    ComboBoxItem.Enabled  := TRUE;
    ComboBoxItem.Hint     := '    ';
    ComboBoxItem.ShowHint := TRUE;
    ComboBoxItem.Text       := 'ComboBoxItem';
    ComboBoxItem.Font.Name  := 'Tahoma';
    ComboBoxItem.Font.Size  := 8;
    ComboBoxItem.Font.Color := clWindowText;
    ComboBoxItem.Style := csDropDownList;
    ComboBoxItem.Color          := clWindow;
    ComboBoxItem.TabOrder       := 1;
    ComboBoxItem.TabStop        := TRUE;
    ComboBoxItem.ItemIndex          := -1;
    ComboBoxItem.Sorted         := FALSE;
    ComboBoxItem.ItemHeight     := 13;
    ComboBoxItem.OnClick     := @ComboBoxItem_Click;

    ButtonStartEnchant := TButton.Create(Result);
    ButtonStartEnchant.Parent := GroupBox2;
    ButtonStartEnchant.Left    := 265;
    ButtonStartEnchant.Top     := 67;
    ButtonStartEnchant.Width   := 75;
    ButtonStartEnchant.Height  := 25;
    ButtonStartEnchant.Visible := TRUE;
    ButtonStartEnchant.Tag     := 0;
    ButtonStartEnchant.Enabled  := TRUE;
    ButtonStartEnchant.Hint     := '';
    ButtonStartEnchant.ShowHint := FALSE;
    ButtonStartEnchant.Caption    := 'Start';
    ButtonStartEnchant.Font.Name  := 'Tahoma';
    ButtonStartEnchant.Font.Size  := 8;
    ButtonStartEnchant.Font.Color := clWindowText;
    ButtonStartEnchant.Font.CharSet := 1;
    ButtonStartEnchant.TabOrder     := 2;
    ButtonStartEnchant.TabStop      := TRUE;
    ButtonStartEnchant.Cancel       := FALSE;
    ButtonStartEnchant.ModalResult  := 0;
    ButtonStartEnchant.OnClick     := @ButtonStartEnchant_Click;


    ButtonStopEnchant := TButton.Create(Result);
    ButtonStopEnchant.Parent := GroupBox2;
    ButtonStopEnchant.Left    := 341;
    ButtonStopEnchant.Top     := 67;
    ButtonStopEnchant.Width   := 75;
    ButtonStopEnchant.Height  := 25;
    ButtonStopEnchant.Visible := TRUE;
    ButtonStopEnchant.Tag     := 0;
    ButtonStopEnchant.Enabled  := TRUE;
    ButtonStopEnchant.Hint     := '';
    ButtonStopEnchant.ShowHint := FALSE;
    ButtonStopEnchant.Caption    := 'Stop';
    ButtonStopEnchant.Font.Name  := 'Tahoma';
    ButtonStopEnchant.Font.Size  := 8;
    ButtonStopEnchant.Font.Color := clWindowText;
    ButtonStopEnchant.Font.CharSet := 1;
    ButtonStopEnchant.TabOrder     := 3;
    ButtonStopEnchant.TabStop      := TRUE;
    ButtonStopEnchant.Cancel       := FALSE;
    ButtonStopEnchant.ModalResult  := 0;
    ButtonStopEnchant.OnClick     := @ButtonStopEnchant_Click;

    CheckBoxScroll := TCheckBox.Create(Result);
    CheckBoxScroll.Parent := GroupBox2;
    CheckBoxScroll.Left    := 18;
    CheckBoxScroll.Top     := 41;
    CheckBoxScroll.Width   := 66;
    CheckBoxScroll.Height  := 23;
    CheckBoxScroll.Visible := TRUE;
    CheckBoxScroll.Tag     := 0;
    CheckBoxScroll.Enabled  := TRUE;
    CheckBoxScroll.Hint     := '     ';
    CheckBoxScroll.ShowHint := TRUE;
    CheckBoxScroll.Caption    := '';
    CheckBoxScroll.Font.Name  := 'Tahoma';
    CheckBoxScroll.Font.Size  := 8;
    CheckBoxScroll.Font.Color := clWindowText;
    CheckBoxScroll.Color       := clBtnFace;
    CheckBoxScroll.TabOrder    := 4;
    CheckBoxScroll.TabStop     := TRUE;
    CheckBoxScroll.Checked     := FALSE;
    CheckBoxScroll.AllowGrayed := FALSE;
    CheckBoxScroll.State       := cbUnchecked;
    CheckBoxScroll.OnClick     := @CheckBoxScroll_Click;

    ComboBoxScroll := TComboBox.Create(Result);
    ComboBoxScroll.Parent := GroupBox2;
    ComboBoxScroll.Left    := 90;
    ComboBoxScroll.Top     := 40;
    ComboBoxScroll.Width   := 199;
    ComboBoxScroll.Height  := 21;
    ComboBoxScroll.Visible := TRUE;
    ComboBoxScroll.Tag     := 0;
    ComboBoxScroll.Enabled  := TRUE;
    ComboBoxScroll.Hint     := '    ';
    ComboBoxScroll.ShowHint := TRUE;
    ComboBoxScroll.Text       := 'ComboBoxScroll';
    ComboBoxScroll.Font.Name  := 'Tahoma';
    ComboBoxScroll.Font.Size  := 8;
    ComboBoxScroll.Font.Color := clWindowText;
    ComboBoxScroll.Style := csDropDownList;
    ComboBoxScroll.Color          := clWindow;
    ComboBoxScroll.TabOrder       := 5;
    ComboBoxScroll.TabStop        := TRUE;
    ComboBoxScroll.ItemIndex          := -1;
    ComboBoxScroll.Sorted         := FALSE;
    ComboBoxScroll.ItemHeight     := 13;
    ComboBoxScroll.OnClick     := @ComboBoxScroll_Click;

    EditItemVal := TEdit.Create(Result);
    EditItemVal.Parent := GroupBox2;
    EditItemVal.Left    := 371;
    EditItemVal.Top     := 16;
    EditItemVal.Width   := 72;
    EditItemVal.Height  := 21;
    EditItemVal.Visible := TRUE;
    EditItemVal.Tag     := 0;
    EditItemVal.Enabled  := TRUE;
    EditItemVal.Hint     := '';
    EditItemVal.ShowHint := FALSE;
    EditItemVal.Text       := '0';
    EditItemVal.Font.Name  := 'Tahoma';
    EditItemVal.Font.Size  := 8;
    EditItemVal.Font.Color := clWindowText;
    EditItemVal.Color        := clWindow;
    EditItemVal.TabOrder     := 6;
    EditItemVal.TabStop      := TRUE;
    EditItemVal.ReadOnly     := TRUE;
    EditItemVal.MaxLength    := 0;
    EditItemVal.AutoSize     := TRUE;

    EditScrollVal := TEdit.Create(Result);
    EditScrollVal.Parent := GroupBox2;
    EditScrollVal.Left    := 371;
    EditScrollVal.Top     := 40;
    EditScrollVal.Width   := 72;
    EditScrollVal.Height  := 21;
    EditScrollVal.Visible := TRUE;
    EditScrollVal.Tag     := 0;
    EditScrollVal.Enabled  := TRUE;
    EditScrollVal.Hint     := '';
    EditScrollVal.ShowHint := FALSE;
    EditScrollVal.Text       := '0';
    EditScrollVal.Font.Name  := 'Tahoma';
    EditScrollVal.Font.Size  := 8;
    EditScrollVal.Font.Color := clWindowText;
    EditScrollVal.Color        := clWindow;
    EditScrollVal.TabOrder     := 7;
    EditScrollVal.TabStop      := TRUE;
    EditScrollVal.ReadOnly     := TRUE;
    EditScrollVal.MaxLength    := 0;
    EditScrollVal.AutoSize     := TRUE;

    EditScrollOID := TEdit.Create(Result);
    EditScrollOID.Parent := GroupBox2;
    EditScrollOID.Left    := 293;
    EditScrollOID.Top     := 40;
    EditScrollOID.Width   := 72;
    EditScrollOID.Height  := 21;
    EditScrollOID.Visible := TRUE;
    EditScrollOID.Tag     := 0;
    EditScrollOID.Enabled  := TRUE;
    EditScrollOID.Hint     := '';
    EditScrollOID.ShowHint := FALSE;
    EditScrollOID.Text       := '0';
    EditScrollOID.Font.Name  := 'Tahoma';
    EditScrollOID.Font.Size  := 8;
    EditScrollOID.Font.Color := clWindowText;
    EditScrollOID.Color        := clWindow;
    EditScrollOID.TabOrder     := 8;
    EditScrollOID.TabStop      := TRUE;
    EditScrollOID.ReadOnly     := TRUE;
    EditScrollOID.MaxLength    := 0;
    EditScrollOID.AutoSize     := TRUE;

    EditItemOID := TEdit.Create(Result);
    EditItemOID.Parent := GroupBox2;
    EditItemOID.Left    := 293;
    EditItemOID.Top     := 16;
    EditItemOID.Width   := 72;
    EditItemOID.Height  := 21;
    EditItemOID.Visible := TRUE;
    EditItemOID.Tag     := 0;
    EditItemOID.Enabled  := TRUE;
    EditItemOID.Hint     := '';
    EditItemOID.ShowHint := FALSE;
    EditItemOID.Text       := '0';
    EditItemOID.Font.Name  := 'Tahoma';
    EditItemOID.Font.Size  := 8;
    EditItemOID.Font.Color := clWindowText;
    EditItemOID.Color        := clWindow;
    EditItemOID.TabOrder     := 9;
    EditItemOID.TabStop      := TRUE;
    EditItemOID.ReadOnly     := TRUE;
    EditItemOID.MaxLength    := 0;
    EditItemOID.AutoSize     := TRUE;

    Label30 := TLabel.Create(Result);
    Label30.Parent := GroupBox2;
    Label30.Left    := 10;
    Label30.Top     := 95;
    Label30.Width   := 58;
    Label30.Height  := 13;
    Label30.Visible := TRUE;
    Label30.Tag     := 0;
    Label30.Enabled  := TRUE;
    Label30.Hint     := '';
    Label30.ShowHint := FALSE;
    Label30.Caption     := ' :';
    Label30.Transparent := TRUE;
    Label30.WordWrap    := FALSE;
    Label30.Alignment   := taLeftJustify;
    Label30.Layout      := tlTop;
    Label30.AutoSize    := TRUE;
    Label30.Align       := alNone;
    Label30.Font.Name   := 'Tahoma';
    Label30.Font.Size   := 8;
    Label30.Font.Color  := clWindowText;
    Label30.Color       := clBtnFace;

    Edit30 := TEdit.Create(Result);
    Edit30.Parent := GroupBox2;
    Edit30.Left    := 90;
    Edit30.Top     := 92;
    Edit30.Width   := 169;
    Edit30.Height  := 21;
    Edit30.Visible := TRUE;
    Edit30.Tag     := 0;
    Edit30.Enabled  := TRUE;
    Edit30.Hint     := ' ,     ';
    Edit30.ShowHint := TRUE;
    Edit30.Text       := ConnectName;
    Edit30.Font.Name  := 'Tahoma';
    Edit30.Font.Size  := 8;
    Edit30.Font.Color := clWindowText;
    Edit30.Color        := clWindow;
    Edit30.TabOrder     := 5;
    Edit30.TabStop      := FALSE;
    Edit30.ReadOnly     := TRUE;
    Edit30.MaxLength    := 0;
    Edit30.AutoSize     := TRUE;
    Name:=Edit30.Text;

    Label31 := TLabel.Create(Result);
    Label31.Parent := GroupBox2;
    Label31.Left    := 10;
    Label31.Top     := 120;
    Label31.Width   := 58;
    Label31.Height  := 13;
    Label31.Visible := TRUE;
    Label31.Tag     := 0;
    Label31.Enabled  := TRUE;
    Label31.Hint     := '';
    Label31.ShowHint := FALSE;
    Label31.Caption     := '';
    Label31.Transparent := TRUE;
    Label31.WordWrap    := FALSE;
    Label31.Alignment   := taLeftJustify;
    Label31.Layout      := tlTop;
    Label31.AutoSize    := TRUE;
    Label31.Align       := alNone;
    Label31.Font.Name   := 'Tahoma';
    Label31.Font.Size   := 8;
    Label31.Font.Color  := clWindowText;
    Label31.Color       := clBtnFace;

    Label33 := TLabel.Create(Result);
    Label33.Parent := GroupBox2;
    Label33.Left    := 10;
    Label33.Top     := 120;
    Label33.Width   := 58;
    Label33.Height  := 13;
    Label33.Visible := TRUE;
    Label33.Tag     := 0;
    Label33.Enabled  := TRUE;
    Label33.Hint     := '';
    Label33.ShowHint := FALSE;
    Label33.Caption     := '- :';
    Label33.Transparent := TRUE;
    Label33.WordWrap    := FALSE;
    Label33.Alignment   := taLeftJustify;
    Label33.Layout      := tlTop;
    Label33.AutoSize    := TRUE;
    Label33.Align       := alNone;
    Label33.Font.Name   := 'Tahoma';
    Label33.Font.Size   := 8;
    Label33.Font.Color  := clWindowText;
    Label33.Color       := clBtnFace;

    Edit33 := TEdit.Create(Result);
    Edit33.Parent := GroupBox2;
    Edit33.Left    := 90;
    Edit33.Top     := 117;
    Edit33.Width   := 60;
    Edit33.Height  := 21;
    Edit33.Visible := TRUE;
    Edit33.Tag     := 0;
    Edit33.Enabled  := TRUE;
    Edit33.Hint     := '  ';
    Edit33.ShowHint := TRUE;
    Edit33.Text       := '10';
    Edit33.Font.Name  := 'Tahoma';
    Edit33.Font.Size  := 8;
    Edit33.Font.Color := clWindowText;
    Edit33.Color        := clWindow;
    Edit33.TabOrder     := 5;
    Edit33.TabStop      := FALSE;
    Edit33.ReadOnly     := TRUE;
    Edit33.MaxLength    := 0;
    Edit33.AutoSize     := TRUE;

    Yes := TRUE;
  FINALLY
    if not Yes then begin
       if Result<>NIL then begin
          Buytimer.enabled:=false;
          Result.Free;
          Result:=NIL;
       end;
    end;
  END;
  msg.Lines.Add('   !');
  msg.Lines.Add('*            ,      "?".    " "   ,  !');
  Result.Show;
end;
procedure Init;
var
  i:integer;
begin
  FormMain:=Create_FormMain;
  CurEnchLvl:=0;
  timer:=TTimer.Create(nil);
  Buytimer:=TTimer.Create(nil);
  Buytimer.OnTimer:=@OnBuyTimer;
  Buytimer.enabled:=false;
  timer.OnTimer:=@OnTimer;
  timer.enabled:=false;
  timer.interval:=1000;
  Buytimer.interval:=1000;
  ready:=false;
  add:=false;
  buf:=hstr('0F');
  SendToServerEx(Name);
  StringList:=TStringList.Create;
  ItemsName:=TStringList.Create;
  try
    ItemsName.LoadFromFile('itemsid.ini');
  except
    msg.Lines.Add('itemsid.ini  !');
    exit;
  end;
end;

procedure Free;
begin
  timer.Free;
  BuyTimer.Free;
  StringList.Clear;
  ItemsName.Clear;
  Free_FormMain;
end;

procedure Say(msg:string);
begin
  buf:=hstr('4A 00 00 00 00');
  WriteD(2);
  WriteS(Name);
  WriteS(msg);
  SendToClientEx(Name);
end;

procedure CreateItemBase;
var
  i, j, ListCount: integer;
begin
  for i:=1 to max do begin
    ItemBase[1,i]:=0;
    ItemBase[2,i]:=0;
    ItemBase[3,i]:=0;
    ItemBase[4,i]:=0;
  end;
  j:=4;
  ListCount:=ReadH(j);
  j:=8;
  for i:=1 to ListCount do begin
    itemBase[1,i]:=ReadD(j);
    itemBase[2,i]:=ReadD(j);
    itemBase[3,i]:=ReadD(j);
    inc(j,10);
    itemBase[4,i]:=ReadH(j);
    if interlude then inc(j,12) else inc(j,4);
  end;
  StringList.Clear;
  try
    for i:=1 to ListCount do begin
      try
        StringList.Add(ItemsName.Values[IntToStr(ItemBase[2,i])]);
      except;
        msg.Lines.Add('!  ItemID='+inttostr(ItemBase[2,i])+'  itemsid.ini');
      end
    end;
  except;
    msg.Lines.Add('  CreateItemBase->StringList.Add()');
    msg.Lines.Add(inttostr(ItemBase[2,i]));
    exit;
  end;
  if not CheckBoxItem.Checked then begin
    with ComboBoxItem do
    begin
      Items.Clear;
      Items.Assign(StringList);
      ItemIndex:=0;
    end;
  end;
  if not CheckBoxScroll.Checked then begin
    with ComboBoxScroll do
    begin
      Items.Clear;
      Items.Assign(StringList);
      ItemIndex:=0;
    end;
  end;
end;

procedure InventoryUpdate;
var
  i, ii, j, ItemOID, ItemID, ItemCount, ListCount, UpdType, Itemlvl: integer;
  add : boolean;
begin
  add:=false;
  ListCount:=ReadH(2);
  j:=4;
  for ii:=1 to ListCount do begin
    UpdType:=ReadH(j);
    ReadH(j);
    ItemOID:=ReadD(j);
    ItemID:=ReadD(j);
    itemCount:=ReadD(j);
    inc(j,10);
    Itemlvl:=ReadH(j);
    case UpdType of
      1: begin
         for i:=1 to max do begin
           if (ItemBase[1,i]=0) and (add=false) then begin
             ItemBase[1,i]:=ItemOID;
             ItemBase[2,i]:=ItemID;
             ItemBase[3,i]:=ItemCount;
             ItemBase[4,i]:=Itemlvl;
             msg.Lines.Add(' !');
             msg.Lines.Add('i='+inttostr(i)+' ItemOID='+IntToStr(ItemBase[1,i])+' ItemID='+IntToStr(ItemBase[2,i])+' ItemKol='+IntToStr(ItemBase[3,i])+' ItemLVL='+IntToStr(ItemBase[4,i]));
             add:=true;
           end;
         end;
      end;
      2: begin
         for i:=1 to max do begin
           if ItemBase[1,i]=ItemOID then begin
             ItemBase[3,i]:=ItemCount;
             ItemBase[4,i]:=Itemlvl;
             msg.Lines.Add('  !');
             msg.Lines.Add('i='+inttostr(i)+' ItemOID='+IntToStr(ItemBase[1,i])+' ItemID='+IntToStr(ItemBase[2,i])+' ItemKol='+IntToStr(ItemBase[3,i])+' ItemLVL='+IntToStr(ItemBase[4,i]));
           end;
         end;
      end;
      3: begin
         for i:=1 to max do begin
           if ItemBase[1,i]=ItemOID then begin
             msg.Lines.Add(' !');
             msg.Lines.Add('i='+inttostr(i)+' ItemOID='+IntToStr(ItemBase[1,i])+' ItemID='+IntToStr(ItemBase[2,i])+' ItemKol='+IntToStr(ItemBase[3,i])+' ItemLVL='+IntToStr(ItemBase[4,i]));
             ItemBase[1,i]:=0;
             ItemBase[2,i]:=0;
             ItemBase[3,i]:=0;
             ItemBase[4,i]:=0;
           end;
         end;
      end;
    end;
    if interlude then inc(j,10) else inc(j,2);
  end;
end;

function GetItem(item:integer; lvl:integer) : integer;
var
  i : integer;
begin
  for i:=1 to max do begin
    if (ItemBase[2,i]=item) and (ItemBase[4,i]=lvl) then begin
      result:=ItemBase[1,i];
      ItemCount:=ItemBase[3,i];
         exit;
    end;
  end;

  result:=0;
end;

procedure UseItem(ObjectID: integer);
begin
  buf:=#$14;
  WriteD(ObjectID);
  WriteD(0);
  SendToServerEx(Name);
end;
function SumItem(Item: integer):integer;
var
  sum, i : integer;
begin
  result:=0;
  for i:=1 to max do begin
    if (ItemBase[2,i]=item) then begin
      result:=result+ItemBase[3,i];
    end;
  end;
end;
procedure RequestEnchantItem(ObjectID: integer);
begin
  buf:=#$58;
  WriteD(ObjectID);
  SendToServerEx(Name);

  buf:=#$1F;
  WriteD(959);
  SendToServerEx(Name);
end;

procedure OnShowMessage(n_name,msg : string; i_type : integer);
begin
buf:=HStr('4A 69 5A 40 48');
WriteD(i_type);
WriteS(n_name);
WriteS(msg);
SendToClientEx(Name);
end;

procedure OnBuyTimer(Sender: TObject);
begin
BuyTimer.enabled:=false;
CallProcedure('mouse_bot.dll','BuyEnchants',Edit33.Text);
end;

procedure OnTimer(Sender: TObject);
begin

  EditItemVal.text:=inttostr(sumitem(ItemID));
  EditScrollVal.text:=inttostr(sumitem(ScrollID));
  if (CurEnchLvl>=strtoint(Edit1.Text)) then begin
    msg.Lines.Add(' ! !');
    OnShowMessage('_ [  :D]',' ! !',2);
    timer.enabled:=false;
    exit;
  end;
  if (sumitem(ItemID)<=1) then begin
    msg.Lines.Add('!');
    OnShowMessage('_ [  :D]','!',2);
    timer.enabled:=false;
    exit;
  end;
  ScrollOID:=GetItem(ScrollID,0);
  if ScrollOID=0 then begin
    msg.Lines.Add(' ! !');
    OnShowMessage('_ [  :D]',' ! !',2);
    timer.enabled:=false;
    exit;
  end;
  UseItem(ScrollOID);
  msg.Lines.Add('  ScrollID='+IntToStr(scrollID)+' ScrollOID='+IntToStr(ScrollOID));
  ready:=true;
end;

begin


if FromClient and (pck[1]=#$38) then
    begin
      Cvar:=ReadS(2);
      case Copy(Cvar,0,2) of
        'e+':
          begin
CurEnchLvl:=0;
Edit2.text:=inttostr(CurEnchLvl);
msg.Lines.Add(' !!!');
timer.enabled:=true;
            end;
        'e-':
          begin
msg.Lines.Add(' !!!');
timer.enabled:=false;
BuyTimer.enabled:=false;
ready:=false;
       end;
        'a:':
          begin
OnShowMessage('',Copy(Cvar,4,1024),10);
            end;
        'ms':
          begin
{buf:=#$38;
WriteS('-------------------------------------------------------');
WriteD(1);
SendToServer;
 delay(400);}
buf:=#$38;
WriteS('   ~* {  ' + Copy(Cvar,7,1024) + ' + ' + Copy(Cvar,4,2) + '  !!! } *~');
WriteD(1);
SendToServer;
{ delay(300);
buf:=#$38;
WriteS('-------------------------------------------------------');
WriteD(1);
SendToServer;  }
end;
'b+':
          begin
buf:=HStr('20 74 00 65 00 73 00 74 00 5F 00 73 00 65 00 72 00 76 00 65 00 72 00 5F 00 68 00 65 00 6C 00 70 00 65 00 72 00 5F 00 67 00 6D 00 6F 00 2E 00 68 00 74 00 6D 00 00 00');
SendToServerEx(Name);
buf:=HStr('21 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 2D 00 31 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 32 00 00 00');
SendToServerEx(Name);
buf:=HStr('4A 69 5A 40 48');
BuyTimer.Enabled:=True;
            end;
'?':
          begin
OnShowMessage('','       ',10);
delay(2000);
OnShowMessage('e+','  ',2);
OnShowMessage('e-','  ',2);
OnShowMessage('a:','     (  )',2);
OnShowMessage('ms','    .  (ms 16 ) = : "  +16"',2);
OnShowMessage('b+',' N-  ,     .',2);
            end;
            end;
            end;

  if pck='' then exit;
  if FromServer then
  case pck[1] of

    #$1B: CreateItemBase;
    #$27: InventoryUpdate;
    #$6F: if ready then begin
      timer.enabled:=false;
      repeat
        ItemOID:=GetItem(ItemID,CurEnchLvl);
        if ItemOID=0 then begin
          inc(CurEnchLvl);
          Edit2.text:=inttostr(CurEnchLvl);
        end;
      until ItemOID<>0;
      msg.Lines.Add('  ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID));
      RequestEnchantItem(ItemOID);
      ready:=false;
      timer.enabled:=true;

  {*      :D *}
  // buf:=#$55;
  // WriteS(Name);
  // WriteS(inttostr(sumitem(1462)) + ' S');
  // SendToServer;

  {*        *}
  // buf:=#$55;
  // WriteS(Name);
  // WriteS('{ ' + TimeToStr(Time) + ' }');
  // SendToServerEx(Name);

    end;
    #$81: if readd(2)=0 then begin
          CurEnchLvl:=0;
    end;
  end;
end.
